—————— Introducción a R - Bases ——————
“Herramientas de análisis cuantitativo y su aplicación en la
conservación de la biodiversidad”
“Herramientas de análisis cuantitativo y su aplicación en la
conservación de la biodiversidad”
Este taller ha sido desarrollado por:
Prof. Melissa Guzmán (University of Southern California).
Juan Zuloaga director de ( Ecodiversa Tropical).
1. Objetivos de Aprendizaje
Al final de este taller usted podrá saber cómo:
- Usar R como calculadora
- Identificar y usar varios tipos de datos (ej: numéricos, caracteres)
- Crear un objeto y asignar valores al objeto
- Identificar y crear estructuras de datos (ej: vectores, hoja de datos (o data frames en inglés), listas y matrices)
- Aplicar funciones básicas matemáticas y estadísticas
- Enteder qué son funciones y paquetes en R
- Saber utilizar las ayudas en R
2. Para empezar
¿Qué es R y RStudio?
R es un lenguaje y un ambiente para el análisis estadístico y la graficación.
RStudio es un Entorno de Desarrollo Integrado (Integrated Development Environment, IDE en inglés) que permite la integración de herramientes diseñadas para ser más productivos e interactivos en R.
Es decir que RStudio le permite al usuario, no solamnete interactuar y ver los códigos en R (que es el lenguaje de programación), sino tambien visualizar gráficas, tablas, archivos, mensajes y ayudas para facilitar el proceso de programación.
R y RStudio son softwares de libre acceso (Open source) que puede ejecutar desde varias plataformas como: Windows, Mac y Linux.
Instalar R
Para installar R:
Vaya a CRAN (CRAN = The Comprehensive R Archive Network).
Seleccione “Download R for Windows” or Download R for macOS, dependiendo de su computador.
Seleccione el link “install R for the first time”, que le permitirá bajar el archivo ejecutable de R (.exe).
Corra (Run) el archivo R ejecutable (.exe) para empezar la instalación y permita que la aplicación haga cambios en su computador.
Seleccione el lenguaje de instalación.
Seleccione “Finish” para salir de la configuración de instalación.
Para instalar RStudio:
Vaya a la página web de RStudio
Seleccione el link “Download RStudio” en la esquina superior derecha.
Seleccione “DOWNLOAD RSTUDIO” bajo el “RStudio Desktop” (usted puede ver que es FREE)
Seleccione “DOWNLOAD RSTUDIO DESKTOP FOR WINDOWS” bajo 2: Install RStudio
Corra (Run) el archivo RStudio ejecutable (.exe) para empezar la instalación y permita que la aplicación haga cambios en su computador.
Seleccione “Finish” para salir de la configuración de instalación.
Explorando RStudio
R studio es una plataforma muy amigable para usar R.
Abra un nuevo R Script usando File > New File > R Script
Usted verá cuatro paneles como se muestran en la figura. Los paneles ofrecen una variedad de herramientas para facilitar el proceso de escribir, ejecutar y visualizar sus códigos y resultados.
Usted se familiarzará y conocerá la utilidad de cada de estos paneles a medida que avanza en estos tutoriales.
3. R como calculadora
Vamos a empezar a jugar un poco con R, como si fuera una calculadora básica. Para lo cual utilizaremos los siguientes operadores:
Operadores aritméticos
| Operador | Descripción |
|---|---|
| + | Adición |
| - | Substracción |
| * | Multiplicación |
| / | División |
| ^ o ** | Exponenciación |
Operaciones básicas
Por ejemplo escriba la expresion 3 + 2 en el primer
panel y luego ejecute el código oprimiendo el botón Run que
se encuentra a la derecha del panel.
Puede utilzar también las teclas Ctrl y Enter (en Mac:
Apple y Enter).
En cualquiera de los dos casos asegúrese de situarse en la línea o ilumunar las líneas que quiere ejecutar.
## [1] 5
En la consola podrá ver el resultado.
Unos ejemplos mas:
## [1] 8
## [1] -2
Usted puede hacer multiples cálculos usando punto y coma (‘;’) para separar los comandos. Como por ejemplo:
## [1] 5
## [1] 6
Ejercicio
Ahora es su turno de practicar:
Ejercicio!
Practique combinando diferentes operadores.
¿Cual es la difererencia entre estas operaciones?
Tips!
El orden de las operaciones es importante, por ejemplo:
- Parentesis () es primero, después viene
- Exponentes,
- Multiplicación y división (de izquierda a derecha), y finalmente
- Adición y substracción (de izquierda a derecha)
4. Creando objetos en R
Información!
R es un programa orientado a objetos (object-oriented program en inglés). Esto quiere decir que casi todo en R es un objeto.
Un objeto en R es una estructura que posee unos atributos (tipo de datos) y unos métodos actuando en esos atributos.
Por ejemplo asignemos (usando estos dos símbolos juntos
<-) el valor 1 al objeto
x.
## [1] 1
Tips!
Este símbolo <- (que lo llamaremos igual, es una
combinanción entre el simbolo < y guión en la mitad
-) será utilizado de ahora en adelante en R para
asignar (igual) valores a los objetos.
El símbolo = será utilizado en otro contexto: para los
argumentos en funciones. Lo veremos más adelante.
Ahora bien, puede pensar en el objeto como una variable y asignarle un nombre, por ejemplo:
## [1] 12
Usted puede asignar al objeto no solo números sino tambien texto, como por ejemplo:
## [1] "Euglosa"
Ahora es su turno de practicar:
5. Vectores
Ahora bien usted puede crear un objeto con varios elementos, los llamaremos vectores.
Utilizaremos la función c() para concadenar tres valores
separados por comas ,.
Creemos una variable mis_numeros con tres valores. Por
ejemplo:
## [1] 1 2 3
Podriamos crear un vector con 50 números consecutivos. No es necesario escribir los 50 números. Aquí es donde R empieza a tener más sentido y desplegar su potencial.
Para eso podemos utlizar la siguiente expresion:
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
## [30] 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
En general usted puede crear vectores que tengan valores númericos, texto, factores o lógicos. Por ejemplo:
## [1] "b" "a" "c" "ab" "b"
Utilicemos la función class() para ver que tipo de datos
tenemos en el objeto que creamos. Veremos mas adelante qué es una
función, pero usted ya se puede darse cuenta de qué se trata.
## [1] "character"
Ejercicio
Ahora es su turno de practicar:
Ejercicio!
Defina los objetos d y e con los numeros 8 y 7 usando comillas “”
Después sume los dos objetos d + e
¿Qué obtiene? y ¿Por qué?
Para pensar son “8” y “9” tipo numérico o caracter?
Esto nos lleva a ver en detalle los tipos de datos que usted podría utilizar en R.
6. Tipo de datos
A continuación presentaremos los tipos de datos más comunes que se manejan en R.
numeric(en inglés) “numérico”, para valores numéricoscharacterorstring(en inglés) “caracteres”, para texto que incluye letras y otros símboloslogicaloBoolean(en inglés) “lógicos”, VERDADERO/FALSO (TRUE/FALSEen inglés)factor(en inglés) “factores”, para variables categóricasmissing values(NA, “Not Available”. en inglés) para valores que no se encuentran disponibles.
Veamos unos ejemplos:
Numérico (numeric)
## [1] 5
Usted puede utilizar la función class() para visualizar
el ‘modo’ del objeto.
## [1] "numeric"
Veamos otro ejemplo:
con la función typeof() usted puede ver el modo del
valor numérico. Hay dos tipos en el modo numérico.: integer
(como un numero entero) y double (como decimales).
## [1] 7
¿Qué clase es?
## [1] "numeric"
¿Qué tipo de valor númerico es?
## [1] "double"
En este caso es double. Todos los números reales se
guardan en el formato de double precisión.
Si usted quiere un número entero, puede utilizar la función
as.integer(), que asigna al objecto
b el modo integer al valor 9.
## [1] "integer"
Veamos qué pasa con un decimal:
## [1] 10.2
¿Qué clase es?
## [1] "numeric"
¿Qué tipo de valor númerico es?
## [1] "double"
¿Qué pasa si asignamos el modo integer a un decimal?
Bueno, parece que perdemos precisión:
## [1] 40
Carácter (Character or string)
Asignemos este texto Euglosa a la variable:
## [1] "Euglosa"
¿Qué clase es?
## [1] "character"
Podemos guardar un texto más complejo, como por ejemplo:
## [1] "Bombus afinis"
¿Qué clase es?
## [1] "character"
Valores lógicos (logical)
Los valores lógicos (logical or Boolean en inglés) se
presentan como verdadero of falso (TRUE or
FALSE). Serán de mucha utilidad en la programación en
R.
Por ejemplo, asignemos el valor FALSE a la
variable3.
## [1] FALSE
¿Qué clase es?
## [1] "logical"
Pero más interesante es indagar la condición de una variable:
# Definamos una variable
variable4 <- 5 # Asignamos el valor a un objeto
variable4 # Presentamos el valor## [1] 5
¿Es el objeto mayor que 6?
## [1] FALSE
¿Es el obejto menor que 6?
## [1] TRUE
Tips!
Este símbolo # se utilza en R para preceder comentarios
en el código, pero no afecta la ejecución de las operaciones o
funciones.
Es muy importante para documentar lo que usted hace con sus códigos. Puede utilizarlos como títulos de una sección o comentarios a cada línea. Por ejemplo:
# Definamos una variable
variable5 <- 45 # Asignamos el valor a un objeto
variable5 # Presentamos el valor## [1] 45
Factores (factor)
Un factor es una variable categórica con un grupo conocido de valores, que llamaremos niveles. Los factores serán muy importantes en análisis estadísticos y modelamiento.
Por ejemplo, la cobertura vegetal en un mapa puede tener tres valores (bosques, pastos y urbana).
Contruyamos un objeto que contenga estos valores y sea un factor.
## [1] "bosques" "pastos" "urbana"
¿Qué clase es?
## [1] "character"
Parece que el vector sigue siendo texto. Para que sea un factor
tenermos que usar la función as.factor().
## [1] bosques pastos urbana
## Levels: bosques pastos urbana
¿Qué clase es?
## [1] "factor"
Valores no disponibles (missing values,
NA)
En sus tablas de datos provenientes de hojas de cálculo usted se va a
encontrar con esta situación: celdas donde no hay valores. En general R
lee esto como NA (es decir un valor no disponible).
Por ejemplo, creemos un vector con nombres de generos de especies en
donde el tercero no está disponible. Note que NA no está
con comillas (no es un caracter). R lo lee como un valor no disponible
(NA).
## [1] "Euglosa" "Bombus" NA "Apis"
7. Estructura de datos
Ya vimos que un vector es una secuencia de elementos del mismo modo.
Por ejemplo:
## [1] 2 4 6 8 10
Pero hay diferentes tipos de estructuras en los datos como: tablas, matrices y listas.
Tablas data frames
La más familiar para usted es una tabla, que en lenguaje de R se
conoce como data frame.
La podemos construir con base en vectores. Por ejemplo, utilicemos
tres vectores con diferentes modos y creemos un tabla utilizando la
función data.frame():
species <- c("Euglosa", "Bombus", NA, "Apis")
largo_abdomen <- c(2.1, 3.0, 4, 2.8)
lugar <- c("Cali", "Sitio_1", "2", NA)
df <- data.frame(species, lugar, largo_abdomen)
df## species lugar largo_abdomen
## 1 Euglosa Cali 2.1
## 2 Bombus Sitio_1 3.0
## 3 <NA> 2 4.0
## 4 Apis <NA> 2.8
El data.frame que creamos es muy parecido a la
estructura de una hoja de cálculo, es decir con filas y columnas.
Puede ver como el nombre de la variable que creamos se convierte en el encabezado de la columna (que es en si una variable).
En el “Taller de manipulación de datos” veremos más en detalle las
propiedades de los dataframes y cómo manejarlos.
Por ahora utilicemos la funcion str() para ver la
estructura del objeto df; es decir el dataframe que
creamos. Por favor tómese un tiempo para ver la información que
contiene.
## 'data.frame': 4 obs. of 3 variables:
## $ species : chr "Euglosa" "Bombus" NA "Apis"
## $ lugar : chr "Cali" "Sitio_1" "2" NA
## $ largo_abdomen: num 2.1 3 4 2.8
Matrices matrix
Una matriz es una colección de elementos del mismo modo organizado en una distribución rectangular de dos dimensiones.
Por ejemplo
## var_1 var_2
## [1,] 2 20
## [2,] 4 40
## [3,] 6 60
Se parece mucho a un data frame, pero su etructura es un poco diferente. Veamos:
## [1] "matrix" "array"
## num [1:3, 1:2] 2 4 6 20 40 60
## - attr(*, "dimnames")=List of 2
## ..$ : NULL
## ..$ : chr [1:2] "var_1" "var_2"
Utilicemos ahora la funcion matrix() para crear una
matriz.
my_matrix <- matrix( # Función
1:6, # vector con elementos
nrow=2, # número de filas
ncol=3, # número de columnas
byrow = TRUE) # llenar la matriz usando filas (SI)
my_matrix## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
Ejercicio
Ahora es su turno de practicar:
Ejercicio!
Compare la estructura del data frame y la matriz.
¿Cual es la difererencia entre esta matriz y la anterior?
## species lugar largo_abdomen
## 1 Euglosa Cali 2.1
## 2 Bombus Sitio_1 3.0
## 3 <NA> 2 4.0
## 4 Apis <NA> 2.8
## 'data.frame': 4 obs. of 3 variables:
## $ species : chr "Euglosa" "Bombus" NA "Apis"
## $ lugar : chr "Cali" "Sitio_1" "2" NA
## $ largo_abdomen: num 2.1 3 4 2.8
## [,1] [,2] [,3]
## [1,] 1 2 3
## [2,] 4 5 6
## int [1:2, 1:3] 1 4 2 5 3 6
Lista list
La lista es un vector que contiene varios objetos, usted podra diferenciarlos porque están entre dos paréntesis cuadrados, es decir [[1]], [[2]], [[3]], en el ejemplo de abajo:
species <- c("Euglosa", "Bombus", NA, "Apis")
largo_abdomen <- c(2.1, 3.0, 4, 2.8)
lugar <- c("Cali", "Sitio_1", "2", NA)
mi_lista <- list(species, lugar, largo_abdomen)
mi_lista## [[1]]
## [1] "Euglosa" "Bombus" NA "Apis"
##
## [[2]]
## [1] "Cali" "Sitio_1" "2" NA
##
## [[3]]
## [1] 2.1 3.0 4.0 2.8
Veamos la estructura:
## List of 3
## $ : chr [1:4] "Euglosa" "Bombus" NA "Apis"
## $ : chr [1:4] "Cali" "Sitio_1" "2" NA
## $ : num [1:4] 2.1 3 4 2.8
En resumen
En la tabla mostramos un pequeño resumen de las características de las estructuras de los datos:
| Igual modo | Diferente modo | |
|---|---|---|
| 1 dimensión | Vector | lista |
| ej.: (2,3,4,5) | ej.: objeto 1: (2,3,4,5); objeto 2 (“A”, “B”, “C”) | |
| 2 dimensiones | Matriz | data frame |
8. Funciones
Ya hemos visto algunas funciones como c(),
class(), list(), str(), etc. Pero
no hemos definido que es una función.
Información!
Una función es una serie de códigos autónomos que realizan una tarea específica.
Las funciones pueden tomar cualquier estructura de datos (ej: valor, vector, dataframe, etc.), los procesan y finalmente retornan un resultado.
R tiene funciones construídas en sus paquetes base que usted ha visto anteriormente.
Pero veamos otras como: sqrt(), log() y
abs() entre otras. Por ejemplo:
Raíz cuandrada
## [1] 5
Potencia
## [1] 9
Valor absoluto
## [1] 43
Logaritmo natural
## [1] 2.302585
Logaritmos, con diferentes bases
## [1] 1.30103
Tips!
R es sensitivo a mayúsculas y minúsculas, por eso
Log(10) no funcionaría. Puede intentarlo.
Obtendrá un mensaje de error como este:
Error in Log10() : could not find function “Log10”
No se preocupe, trate de entender que quiere decir el mensaje. A veces no son muy claros, es decir el problema está escrito en términos muy técnicos.
Pero puede buscar en el internet (copie y peque en su buscador el mensaje de error), hay muchas personas que han pasado por lo mismo y presentan la solución.
Funciones triginométricas: ej.:
sin()
## [1] -0.9589243
Tips!
Recuerde entonces que usted puede escribir el nombre de la función
seguido de parentesis redondo ().
Tenge en cuenta que todos los nombres de las funciones vienen en inglés. Usted se familiarizará con los nombres de las funciones a medida que las utilice.
Además, existe en R una ayuda cuando usted trata de encontralas:
Cuando usted empieza a escribir, R inicia una busqueda dentro de su base de datos de funciones con similar ortografía, de tal forma que usted puede seleccionar la función que desea. Usted puede ver una descripción de lo que hace la función. Tal como se ve en la figura:
Las funciones pueden ser muy útiles. Por ejemplo, veamos como la
función round() que le permite redondear a dos decimales la
constante matemática π.
## [1] 3.14
Pero puede redondear al número menor utilizando
floor():
## [1] 19
O redondear al número mayor utilizando ceiling():
## [1] 20
Ejercicio
Ahora es su turno de practicar:
Practique, practique, practique!!
Obtendrá muchos mensajes con: Error. No se precoupe!
Si no enntiende trate de nuevo y/o busque soluciones en el internet! Mucha gente ha pasado por los mismos problemas
Es un proceso de apredizaje que mejorará substancialmente si practica
9. Operadores lógicos
Los operadores lógicos serán de mucha utilidad para el análisis de datos y modelamiento.
| Operador | Descripción |
|---|---|
| > | mayor que |
| >= | mayor o igual que |
| == | exactamente igual a |
| != | no igual a |
Por ejemplo: ¿es t1 mayor que t2?
## [1] FALSE
Por ejemplo: ¿es t1 menor que t2?
## [1] TRUE
10. Paquetes
Introducción
Hemos visto como una función realiza una tarea específica, utilizando los datos que usted provee y generando finalmente un resultado.
Ahora bien, veamos que es un paquete (package en inglés)
en R y su relación con las funciones:
Información!
Una paquete (package) en R es una colección de
funciones, datos y un códigos creado para una funcionalidad
específica.
Por ejemplo, el paquete
base
tiene un sinnúmero de funciones, algunas de las cuales ya hemos visto,
como as.integer(), as.factor(),
mean(), etc.
Desde finales de los 90’s colaboradores alrededor del mundo y de diferentes disciplinas del conocimiento han generado más de 18,000 paquetes (CRAN project) en R .
Esta figura creada por dacorzig se muestra cómo ha crecido el número de paquetes que se han incluido en R a lo largo de estos años.
Fuente:
dacorzig
Existen paquetes para diferentes propósitos, por ejemplo: cargar bases de datos, manipular datos, realizar análisis, modelamiento, simulaciones, crear gráficas y mapas, etc.
Por ejemplo:
ENMEval: es un paquete para la implementación de modelos de distribición de especies.ape: es un paquete para análisis filogenético y evolución.
Ahora bien, los desarrolladores de los paquetes han avanzado un poco más y han creado colecciones de paquetes dentro de una sola estructura. La idea es que todos los paquetes compartan una misma filosofía, gramática y estructura de datos.
El más popular es
tydiverse
que le permite importar, ordenar, manipular, analizar y visualizar
datos.
Estos paquetes los verá en detalle en el “Taller de Manejo de datos”.
Ahora veamos cómo puede instalar los paquetes en su computador y luego cargarlos en su sesión de RStudio.
Cómo Instalar paquetes?
Para instalar un paquete, por ejemplo ggplot2, usted
puede utilizar el menu Tools >> Install Packages.
En la ventana que aparece puede empezar a digitar
ggplot2, seleccione el paquete y finalmente presione
“Install”.
Puede también digitar en su sesión de
Rstudioinstall.packages("ggplot2") y ejecutar esta
línea.
Cómo cargar paquetes
Una vez tiene sus paquetes instalados en su computador tiene que
cargar el paquete en la sesión de RStudio, utilizando la función
library(), en este caso usted quiere cargar el paquete
ggplot2 entonces usted escribiría:
library(ggplot2), y luego ejecute esta línea.
Una vez hecho todo esto, tendrá disponible el paquete en su sesión de RStudio.
Recuerde que la instalación la hace una sola vez, a no ser que quiera actualizar la versión del paquete.
Ahora bien, el paquete lo debe cargar (utilizando la
funciónlibrary())cada vez que abre una sesión.
Puede ver la información relacionada con su sesión con esta función
sessionInfo(). Por ejemplo en este taller tenemos esta
información que usted vera es muy útil (por ejemplo la versión de los
paquetes que está utilizando).
## R version 4.3.1 (2023-06-16 ucrt)
## Platform: x86_64-w64-mingw32/x64 (64-bit)
## Running under: Windows 11 x64 (build 22621)
##
## Matrix products: default
##
##
## locale:
## [1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8
## [3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C
## [5] LC_TIME=English_United States.utf8
##
## time zone: America/Edmonton
## tzcode source: internal
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] ggplot2_3.4.2
##
## loaded via a namespace (and not attached):
## [1] gtable_0.3.3 jsonlite_1.8.5 dplyr_1.1.2 compiler_4.3.1
## [5] webshot_0.5.5 tidyselect_1.2.0 xml2_1.3.4 stringr_1.5.0
## [9] jquerylib_0.1.4 systemfonts_1.0.5 scales_1.2.1 yaml_2.3.7
## [13] fastmap_1.1.1 R6_2.5.1 generics_0.1.3 knitr_1.43
## [17] tibble_3.2.1 kableExtra_1.3.4 bookdown_0.34 munsell_0.5.0
## [21] svglite_2.1.2 bslib_0.5.0 pillar_1.9.0 rlang_1.1.1
## [25] utf8_1.2.3 cachem_1.0.8 stringi_1.7.12 xfun_0.39
## [29] sass_0.4.6 viridisLite_0.4.2 cli_3.6.1 withr_2.5.0
## [33] magrittr_2.0.3 rmdformats_1.0.4 digest_0.6.33 rvest_1.0.3
## [37] grid_4.3.1 rstudioapi_0.15.0 lifecycle_1.0.3 vctrs_0.6.3
## [41] evaluate_0.21 glue_1.6.2 fansi_1.0.4 colorspace_2.1-0
## [45] rmarkdown_2.23 httr_1.4.6 tools_4.3.1 pkgconfig_2.0.3
## [49] htmltools_0.5.5
11. Ayudas disponibles
Aprender a escribir códigos que realicen las tareas que usted quiere es un proceso que requiere mucha práctica, especialmente cuando usted está empezando.
Es un proceso de ensayo y error. Los errores le ensenarán mucho a crecer en este proceso. Practique mucho!
Hay muchos recursos que puede utilizar en los cuales puede encontrar respuestas
Panel de ayuda
El primero es el panel de ayuda.
Puede digitar lo que necesita saber, por ejemplo algo sobre el
paquete ggplot2:
Lo que le ofrecerá algunos vínculos de utilidad.
Pero tambien puede utilizar la función help() para
buscar información sobre una función, por ejemplo
mean():
Usted obtendrá en la ayuda información de como usar la función. La sección de ejemplos le puede dar claves para saber cómo escribir sus códigos.
Tips!
El panel de ayudas es de gran utilidad, pero a veces no es suficiente.
Entonces puede ir a la web a buscar ayuda. En especial cuando tiene un mensaje de “Error” en la ejecución de su código.
Copie y péguelo en el buscador y de seguro encontrará alguien que pasó por el mismo problema y encontró una solución..
Usted tambien puede buscar información sobre algunos operadores utilizando el símbolo de pregunta seguido del operador entre comillas:
Ayuda en la web
¿Dónde hacer preguntas o encontrar respuestas?
Relacionadas con R:
Relacionadas con análisis estadístico:
Ecología y R:
Comunidad de usuarios.
Aunque no hay un soporte formal, sí se encuentra una comunidad muy fuerte de usuarios; además de herramientas y ayudas online que facilitan su uso.
R-Ladies Groups promueve la diversidad de genero dentro de la comunidad R.
- R Bloggers es una comunidad de usuarios de R.
- R Studio community es una comunidad que comparte información acerca de R Studio y temas relacionados con R.
Documentos.
También se encuentran una serie de libros y tutoriales que son de gran utilidad para el usuario, por ejemplo:
Otras herramientas.
12. Siguiente paso
Esperamos que este tutorial le haya sido de ayuda para empezar a enterder cómo funciona R y RStudio, así como el potencial que tiene para sus futuros proyectos.
Practique bastante y proceda con otros tutoriales que ofrecemos.
Si tiene comentarios o sugerencias nos puede escribir a ecodiversatropical@gmail.com.